﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using PeliGo.DataModel;
using PeliGo.BL;

namespace PeliGo.UI
{
    public partial class frmAdmGenero : Form
    {
        private GeneroBL objGeneroBL;

        public frmAdmGenero()
        {
            InitializeComponent();
        }

        private void frmAdmGenero_Load(object sender, EventArgs e)
        {
            ConfigurarControles(dgvGenero);
            objGeneroBL = new GeneroBL();
            CargarGrilla();
        }
        public void ConfigurarControles(DataGridView dgv)
        {
            dgv.AllowDrop = false;
            dgv.AllowUserToAddRows = false;
            dgv.AllowUserToDeleteRows = false;
            dgv.AllowUserToResizeColumns = false;
            dgv.AllowUserToResizeRows = false;
            dgv.ReadOnly = true;
            dgv.MultiSelect = false;
            dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        }
        void CargarGrilla()
        {
            objGeneroBL = new GeneroBL();
            dgvGenero.DataSource = objGeneroBL.ListarGenero();
            dgvGeneroConfigurar();
        }

        private void dgvGeneroConfigurar()
        {
            DataGridViewCellStyle csLetras = new DataGridViewCellStyle();
            csLetras.Alignment = DataGridViewContentAlignment.MiddleLeft;

            dgvGenero.Columns["NGenero"].DisplayIndex = 0;
            dgvGenero.Columns["NGenero"].HeaderText = "Nombre";
            dgvGenero.Columns["NGenero"].Width = 207;
            dgvGenero.Columns["NGenero"].DefaultCellStyle = csLetras;
            dgvGenero.Columns["NGenero"].HeaderCell.Style = csLetras;

            dgvGenero.Columns["GeneroId"].Visible = false;
            dgvGenero.Columns["Estado"].Visible = false;
            dgvGenero.Columns["Pelicula"].Visible = false;

            dgvGenero.ClearSelection();
        }

        private void btnNuevo_Click(object sender, EventArgs e)
        {
            frmGenero frmG = new frmGenero();
            frmG.midelegado += CargarGrilla;
            frmG.ShowDialog();
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (dgvGenero.SelectedRows.Count == 0)
            {
                MessageBox.Show("Por favor, seleccionar un género", "PeliGo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            if (MessageBox.Show("¿Desea eliminar el registro?", "PeliGo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                int GeneroId = Convert.ToInt32(dgvGenero.SelectedRows[0].Cells["GeneroId"].Value);
                objGeneroBL.EliminarGenero(GeneroId);
                CargarGrilla();
            }
        }
    }
}
